package view;


import java.util.List;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JComboBox;

import com.toedter.calendar.JMonthChooser;
import com.toedter.calendar.JYearChooser;

import dao.DAOFactory;
import dao.IPessoaDAO;

import javax.swing.JButton;

import model.Pessoa;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class RelatorioSelecaoView extends FFDialog {

	private static final long serialVersionUID = -636597297982751619L;
	private JComboBox<Pessoa> cbxEmpresa;
	private JLabel lblEmpresa;
	private JLabel lblMesReferencia;
	private JLabel lblAnoReferencia;
	private JMonthChooser monthChooser;
	private JYearChooser yearChooser;
	private JButton btnGerar;
	private JButton btnFechar;
	private IPessoaDAO dao = DAOFactory.getPessoaDAO();

	public RelatorioSelecaoView(JFrame principal, String caption, boolean modal) {
		super(principal, caption, modal);
		setBounds(100, 100, 480, 211);

		getContentPane().setLayout(null);
		
		lblEmpresa = new JLabel("Empresa:");
		lblEmpresa.setBounds(10, 11, 55, 14);
		getContentPane().add(lblEmpresa);
		
		lblMesReferencia = new JLabel("M\u00EAs Refer\u00EAncia:");
		lblMesReferencia.setBounds(10, 50, 106, 14);
		getContentPane().add(lblMesReferencia);
		
		lblAnoReferencia = new JLabel("Ano Refer\u00EAncia:");
		lblAnoReferencia.setBounds(10, 89, 106, 14);
		getContentPane().add(lblAnoReferencia);
		
		cbxEmpresa = new JComboBox<Pessoa>();
		cbxEmpresa.setBounds(126, 8, 328, 20);
		getContentPane().add(cbxEmpresa);
		
		monthChooser = new JMonthChooser();
		monthChooser.setBounds(126, 44, 114, 20);
		getContentPane().add(monthChooser);
		
		yearChooser = new JYearChooser();
		yearChooser.setBounds(126, 83, 95, 20);
		getContentPane().add(yearChooser);
		
		btnGerar = new JButton("Gerar Relat\u00F3rio");
		btnGerar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				RelatorioView rv = new RelatorioView(getInstance(), "Free Folha - Folha de Pagamento", true, ( (Pessoa) cbxEmpresa.getSelectedItem() ).getId_pessoa(), monthChooser.getMonth(), yearChooser.getYear() );
				rv.setLocationRelativeTo(getInstance());
				rv.setVisible(true);
			}
		});
		btnGerar.setMnemonic('G');
		btnGerar.setBounds(10, 126, 133, 23);
		getContentPane().add(btnGerar);
		
		btnFechar = new JButton("Fechar");
		btnFechar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				closeWindow();
			}
		});
		btnFechar.setMnemonic('F');
		btnFechar.setBounds(291, 126, 133, 23);
		getContentPane().add(btnFechar);
		PopulateEmpresa( dao.findAllPessoaByTipo(Pessoa.PJ) );
	}

	public void PopulateEmpresa(List<Pessoa> dados) {
		for (Pessoa p : dados) {
			cbxEmpresa.addItem(p);
		}
	}
	
}
